
package com.nuedu.corejava.ch10;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class MapClass {
	public static void main(String[] args) {
		//Map集合用于保存有映射关系的数据
		//存储数据时是通过key value的对应关系进行保存
		//key是一个set集合，不能保存相同的key；如果保存key相同的数据，后面点数据会覆盖前面的数据（修改数据）
		//value是一个Collection集合，
		//HashMap：允许有null key，允许value值为null，key不能重复，value可以重复；
		//Hashtable：不允许有null key，不允许value值为null，key不能重复，value可以重复；
		//HashiMap线程不安全，Hashtable线程安全
		
		Map<String, Computer> map = new HashMap<>(16);
		//新增方法
		map.put("HP", new Computer("HP2018",3000));
		map.put("HW", new Computer("Hw2009",5000));
		map.put("DELL", new Computer("DELL2020",2000));
		
		//遍历map一般先取出key，再遍历key，再根据key取value
		Set<String> keys =  map.keySet();
		Iterator<String> iterator = keys.iterator();
		while (iterator.hasNext()) {
			String key = iterator.next();
			Computer computer = map.get(key);
			System.out.println("品牌： "+key+"型号： "+computer.getBrand()+"价格： "+computer.getPrice());
			
		}
		//一对多关系
		Map<String,List<Computer>> map2 = new HashMap<String, List<Computer>>();
		
		//TreeMap
		TreeMap<String,Computer> map3 = new TreeMap<>();
		map3.put("HP", new Computer("HP2018",3000));
		map3.put("HW", new Computer("Hw2009",5000));
		map3.put("DELL", new Computer("DELL2020",2000));
		keys = map3.keySet();
		iterator = keys.iterator();
		while (iterator.hasNext()) {
		String key = iterator.next();
		Computer computer = map3.get(key);
			
		}
		
	}

}
